<script setup lang="ts">
import {} from 'vant'
import { useRouter } from 'vue-router'
const router = useRouter()
const props = defineProps<{
  title?: string
  rightText?: string
  isShow?: () => void // 函数：用来决定将来点击左侧的箭头是否需要执行用户自己的逻辑
}>()
const emit = defineEmits<{
  (e: 'clickRight'): void
}>()
// 左侧导航栏点击事件
function onClickLeft() {
  if (props.isShow) {
    return props.isShow() // 如果外界传入了 isShow 事件，点击左侧箭头就不执行默认逻辑，而是执行外界传入的 isShow 事件
  } else {
    // 判断是否存在上一个页面
    if (history.state.back) {
      router.back()
    } else {
      // 跳转到默认页面
      router.push('/home')
    }
  }
}
// 右侧导航栏点击事件
function onClickRight() {
  emit('clickRight')
}
</script>

<template>
  <VanNavBar @click-left="onClickLeft" @click-right="onClickRight" :fixed="true" :left-arrow="true" :right-text="rightText" :title="title"> </VanNavBar>
</template>

<style scoped lang="scss">
::v-deep() {
  // 左侧文本大小&颜色
  .van-nav-bar__arrow {
    font-size: 18px;
    color: var(--cp-text1);
  }
  // 右侧文本大小
  .van-nav-bar__text {
    font-size: 15px;
  }
}
</style>
